﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Text.RegularExpressions;

namespace carsitem.Commodity
{
    public partial class CommodityEntryForm : Form
    {

        //皮肤组件声明
        Sunisoft.IrisSkin.SkinEngine se = null;
        string SkinName = "SteelBlack";
        public CommodityEntryForm()
        {
            InitializeComponent();

            //皮肤组件引用
            se = new Sunisoft.IrisSkin.SkinEngine();
            se.SkinAllForm = true;
            se.SkinFile = "skin/" + SkinName + ".ssk";
        }

        //添加按钮
        private void Add_Click(object sender, EventArgs e)
        {
            try//捕捉全空文本框异常
            {
                //sql添加语句
                string sql = string.Format("insert into Commodity(CarName,Carcolor,TreasuryPrices,OutboundPrice,Introducecar) values('{0}','{1}',{2},{3},{4})" + "insert into Warehouse(WarehouseName) values('{5}') " + "insert into Kucun(StockNumer) values({6})", this.textCarName.Text, this.textCarcolor.Text, this.textTreasuryPrices.Text, this.textOutboundPrice.Text, this.textIntroducecar.Text, this.textWarehouseName.Text, this.textInventoryNumber.Text);
                //判断是否成功
                if (DBHelper.Instance().ExcuteSql(sql))
                {
                    MessageBox.Show("添加成功！");
                }
                else
                {
                    MessageBox.Show("添加失败！");
                }

                //清除文本框数据
                this.textGoodsNumber.Clear();
                this.textCarTypeID.Clear();
                this.textCarName.Clear();
                this.textCarcolor.Clear();
                this.textTreasuryPrices.Clear();
                this.textOutboundPrice.Clear();
                this.textIntroducecar.Clear();
                this.textWarehouseName.Clear();
                this.textInventoryNumber.Clear();
            }
            catch (Exception)
            {
                MessageBox.Show("请输入要添加的数据！");//文本框中无数据弹出
            }
            
        }
        
        //退出按钮
        private void exit_Click(object sender, EventArgs e)
        {
            carsitem.MainInterface.MainInterfaceForm mainInterfaceForm = new carsitem.MainInterface.MainInterfaceForm();//把form1传给form2
            mainInterfaceForm.Show();
            this.Hide();//把自己隐藏了
        }

        //数字验证
        public bool IsNumberic(string oText)
        {
            string pattern = @"^\d+(\.\d)?$";
            if (oText != "")
            {
                if (!Regex.IsMatch(oText, pattern))
                    MessageBox.Show("请输入数字！");
            }
            return true;
        }

        //汉字验证
        public bool IsChineseCharacters(string oText)
        {
            string text = @"[\u4E00-\u9FA5]+$";
            if (oText != "")
            {
                if (!Regex.IsMatch(oText.ToString(), text))
                    MessageBox.Show("请输入汉字！");
            }
            return true;
        }

        //非空验证
        public bool Null(string oText)
        {
            if (oText == "")
            {
                MessageBox.Show("必须填写！");
            }
            return true;
        }

        //表单验证
        private void textGoodsNumber_Leave(object sender, EventArgs e)//商品编号
        {
            string oText = textGoodsNumber.Text.Trim();
            IsNumberic(oText);
            Null(oText);
        }

        private void textCarTypeID_Leave(object sender, EventArgs e)//汽车编号
        {
            string oText = textCarTypeID.Text.Trim();
            IsNumberic(oText);
            Null(oText);
        }

        private void textCarName_Leave(object sender, EventArgs e)//商品名称
        {
            string oText = textCarName.Text.Trim();
            IsChineseCharacters(oText);
            Null(oText);
        }

        private void textCarcolor_Leave(object sender, EventArgs e)//颜色
        {
            string oText = textCarcolor.Text.Trim();
            IsChineseCharacters(oText);
            Null(oText);
        }

        private void textTreasuryPrices_Leave(object sender, EventArgs e)//进货价格
        {
            string oText = textTreasuryPrices.Text.Trim();
            IsNumberic(oText);
            Null(oText);
        }

        private void textOutboundPrice_Leave(object sender, EventArgs e)//销售价格
        {
            string oText = textOutboundPrice.Text.Trim();
            IsNumberic(oText);
            Null(oText);
        }

        private void textWarehouseName_Leave(object sender, EventArgs e)//仓库名称
        {
            string oText = textWarehouseName.Text.Trim();
            IsChineseCharacters(oText);
            Null(oText);
        }

        private void textInventoryNumber_Leave(object sender, EventArgs e)//库存数量
        {
            string oText = textInventoryNumber.Text.Trim();
            IsNumberic(oText);
            Null(oText);
        }

    }
}
